package com.sg.dto.integration.framework;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Objects;

/**
 * @desc OrgStationTypeDto
 * @使用场景
 */
@Data
public class OrgStationTypeDto extends BaseDto implements Serializable {

    /**
     * 岗位类型ID:
     */
    @NotNull(message = "岗位类型ID不能为空")
    @ApiModelProperty("岗位类型ID")
    private String stationTypeId;

    /**
     * 岗位类型名称:
     */
    @NotNull(message = "岗位类型名称不能为空")
    @ApiModelProperty("岗位类型名称")
    private String stationTypeName;

    /**
     * 岗位类型编号:
     */
    @ApiModelProperty("岗位类型编号")
    private String stationTypeNumber;

    /**
     * 是否存档:
     */
    @ApiModelProperty("是否存档")
    private String isArchive;

    /**
     * 排序:
     */
    @ApiModelProperty("排序")
    private Long orderNumber;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        OrgStationTypeDto that = (OrgStationTypeDto) o;
        return (
                stationTypeId == that.stationTypeId &&
                        stationTypeName == that.stationTypeName &&
                        stationTypeNumber == that.stationTypeNumber &&
                        isArchive == that.isArchive &&
                        orderNumber == that.orderNumber
        );
    }

    @Override
    public int hashCode() {
        return Objects.hash(
                super.hashCode(),
                stationTypeId,
                stationTypeName,
                stationTypeNumber,
                isArchive,
                orderNumber
        );
    }

}
